The addition of modifier tracks in QuickTime 2.1 introduced new capabilities for creating dynamic movies. (A modifier track sends data to another track; by comparision, a track reference is an association.) For example, instead of playing video in a normal way, a video track can send its image data to a sprite track. The sprite track then uses that video data to replace the image of one of its sprites. When the movie is played, the video track appears as a sprite. (For more information about sprites and sprite tracks, refer to the book "Programming With QuickTime Sprites.")
Modifier tracks are not a new type of track. Instead, they are a new way of using the data in existing tracks. A modifier track does not present its data, but sends it to another track that uses the data to modify how it presents its own data. Any track can be either a sender or a presenter, but not both. Previously, all tracks were presenters.
Another use of modifier tracks is to store a series of sound volume levels, which is what occurs when you work with a tween track. (For more information about tweens and tween tracks, see Chapter 13, "Tween Media Handler." ) These sound levels can be sent to a sound track as it plays to dynamically adjust the volume. A similar use of modifier tracks is to store location and size information. This data can be sent to a video track to cause it to move and resize as it plays.
Because a modifier track can send its data to more than one track, you can easily synchronize actions between multiple tracks. For example, a single modifier track containing matrices as its samples can make two separate video tracks follow the same path.
See "Creating Movies With Modifier Tracks" for more information about using modifier tracks.
A modifier track may cause a track to move outside of its original boundary regions. This may present problems, since applications do not expect the dimensions or location of a QuickTime movie to change over time.
To ensure that a movie maintains a constant location and size, the Movie Toolbox limits the area in which a spatially modified track can be displayed. A movie's "natural" shape is defined by the region returned by GetMovieBoundsRgn . The toolbox clips all spatially modified tracks against the region returned by GetMovieBoundsRgn . This means that a track can move outside of its initial boundary regions, but it cannot move beyond the combined initial boundary regions of all tracks in the movie. Areas uncovered by a moving track are handled by the toolbox in the same way as areas uncovered by tracks with empty edits.
For more information about how QuickTime handles uncovered areas, see the description of the SetMovieCoverProcs function on page 2-156 of Inside Macintosh: QuickTime.
If a track has to move through a larger area than that defined by the movie's boundary region, the movie's boundary region can be enlarged to any desired size by creating a spatial track (such as a video track) of the desired size but with no data. As long as the track is enabled, it contributes to the boundary regions of the movie.
The video, base, and tween media handlers support sending their data to other tracks. Text data can also be sent, but none of the media handlers currently receive it. The sound, music and 3D media handlers do not support sending their data to other tracks.
Not all media handlers support all input types. Media handlers can decide which input types to support. Table 1 lists the input types supported by each Apple-supplied media handler.
Table 1 Input types supported by each Apple-supplied media handler
Matrix | · | · | · | · | · | · | ||
Graphics mode | · | · | · | · | · | · | ||
Clip | · | · | · | · | · | · | ||
Volume | · | · | · | |||||
Balance | · | · | · | |||||
Sprite image | · | · | ||||||
3D sound | · | · |
| Previous | Chapter Contents | Chapter Top | Next |